package com.example.demo.jucConcurrent.CountDownLatch详解;

/**
 * CountDownLatch底层也是由AQS,用来同步一个或者多个任务的常用并发的工具类,强制
 * 他们等待有其他任务执行的一组操作完成
 *
 * 从源码可知,其底层是由AQS提供支持,所以其数据结构可以参考AQS的数据结构,而AQSd sh
 * 的数据结构核心就是两个虚拟的队列,同步队列sync queue和条件队列Condition queue
 * 不同的条件会有不同的条件队列,CountDownLatch典型的用法就是将一个程序为n个互相独立的可解决任务
 * 并创建值为n的CountDownLatch,当每个任务完成的时候,都会在这个锁存器上调用,CountDown,等待问题被解决的任务调用这个锁
 * 存器的await,将他们自己拦住,直至锁存器计数结束
 */
public class demo_01 {
}
